package cn.explink.dop.service;

import java.util.List;
import java.util.Map;

import org.springframework.transaction.annotation.Transactional;

import cn.explink.dop.entity.vo.AreaVO;
import cn.explink.dop.entity.vo.OrderVO;
import cn.explink.eap.core.common.service.CommonService;

/**
 * 业务层
 *
 * @author firefly 2015-2-5 14:57
 *
 */
@Transactional
public interface AreaService extends CommonService {

	public String add(final AreaVO areaVO);

	public void modify(final AreaVO areaVO);

	public List<AreaVO> getListData(final AreaVO areaVO);

	public Map<String, Object> getListDataByPage(final AreaVO areaVO, final int pageNum, final int pageSize);

	public int deleteData(final List<AreaVO> areaVOList);

	public void modifyByUid(AreaVO areaVO);

	public AreaVO queryById(String id);

	public List<OrderVO> getOrderVOListByArea(AreaVO areaVO, List<Integer> statusList);

	public List<OrderVO> getOrderVOListByIdAndArea(AreaVO areaVO, List<Integer> statusList, String storeId);

	/**
	 *
	 * @Title: unEnabled
	 * @Description: 将启用状态改为停用
	 * @author 孟凡岭
	 * @param @param areaIdList
	 * @param @return
	 * @return boolean 返回类型
	 * @throws
	 */
	public boolean unEnabled(List<String> areaIdList);

	/**
	 *
	 * @Title: enabled
	 * @Description: 将停用状态改为启用
	 * @author 孟凡岭
	 * @param @param areaIdList
	 * @param @return
	 * @return boolean 返回类型
	 * @throws
	 */
	public boolean enabled(List<String> areaIdList);

	/**
	 * 
	 * @Title: findVoByPage
	 * @Description: 分页查询实体
	 * @author 孟凡岭
	 * @param @param areaVO
	 * @param @param pageNum
	 * @param @param pageSize
	 * @param @return
	 * @return Map<String,Object> 返回类型
	 * @throws
	 */
	public Map<String, Object> findVoByPage(AreaVO areaVO, int pageNum, int pageSize);
}
